package com.zllkj.mm.api;


import com.zllkj.mm.api.network.BaseResponse;
import com.zllkj.mm.api.network.RetrofitHelper;
import com.zllkj.mm.api.remote.AccountApi;
import com.zllkj.mm.api.remote.Api;
import com.zllkj.mm.api.remote.CommonApi;
import com.zllkj.mm.api.remote.GameApi;
import com.zllkj.mm.api.remote.LiveApi;
import com.zllkj.mm.api.remote.RelationApi;
import com.zllkj.mm.api.remote.UserApi;
import com.zllkj.mm.api.remote.WXApi;
import com.zllkj.mm.common.ClientConfig;

import java.io.IOException;

import okhttp3.MediaType;
import okhttp3.RequestBody;
import okio.BufferedSink;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

public class DataManager {


    private static DataManager instance;


    private AccountApi mAccountApi;

    private WXApi mWXApi;

    private UserApi mUserApi;

    private LiveApi mLiveApi;
    private GameApi mGameApi;

    private CommonApi mCommonApi;

    private RelationApi mRelationApi;


    public static DataManager getInstance() {
        if (instance == null) {
            instance = new DataManager();
        }

        return instance;
    }


    public AccountApi getAccountApi() {
        if (mAccountApi == null) {
            mAccountApi = RetrofitHelperV2.configRetrofit(AccountApi.class, ClientConfig.BASE_URL, false);
        }



        return mAccountApi;
    }

//    public WXApi getWXApi() {
//        if (mWXApi == null) {
//            mWXApi = RetrofitHelperV2.createOauthService(WXApi.class, WXApi.WX_HOST, false);
//        }
//
//        return mWXApi;
//    }
//
//
//    public UserApi getUserApi() {
//        if (mUserApi == null) {
//            mUserApi = RetrofitHelperV2.configRetrofit(UserApi.class, ClientConfig.BASE_URL, true);
//        }
//
//        return mUserApi;
//    }
//
//    public LiveApi getLiveApi() {
//        if (mLiveApi == null) {
//            mLiveApi = RetrofitHelperV2.configRetrofit(LiveApi.class, ClientConfig.BASE_URL, true);
//        }
//
//        return mLiveApi;
//    }
//    public GameApi getGameApi() {
//        if (mGameApi == null) {
//            mGameApi = RetrofitHelperV2.configRetrofit(GameApi.class, ClientConfig.BASE_URL, true);
//        }
//
//        return mGameApi;
//    }
//
//
//    public RelationApi getRelationApi() {
//        if (mRelationApi == null) {
//            mRelationApi = RetrofitHelperV2.configRetrofit(RelationApi.class, ClientConfig.BASE_URL, true);
//        }
//
//        return mRelationApi;
//    }
//
//    public CommonApi getCommonApi() {
//        if (mCommonApi == null) {
//            mCommonApi = RetrofitHelperV2.configRetrofit(CommonApi.class, ClientConfig.BASE_URL, true);
//        }
//
//        return mCommonApi;
//    }



}
